package com.example.text;

import org.json.JSONArray;
import org.json.JSONObject;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

    public class getJson {

        private static boolean initFlag = false;

        // 你的 json 文件的名字
        private static final String fileName = "tgrj.json";

        // 存放数据的 list
        private static final List<String> diaries = new ArrayList<>();

        public static String getRandomDiary() {
            if (!initFlag) {
                init();
                initFlag = true;
            }
            int rand = (int) (Math.random() * diaries.size());
            return diaries.get(rand);
        }

        // 初始化操作，读取文件内容到 list 里面,只执行一次
        private static void init() {
            try {
                // 拿到 json 文件的输入流，然后读取
                InputStream open = jsonText.getContext().getAssets().open(fileName);
                byte[] buffer = new byte[1024];
                int len = 0;
                StringBuilder sb = new StringBuilder();
                while ((len = open.read(buffer)) != -1) {
                    sb.append(new String(buffer, 0, len));
                }
                open.close();

                JSONObject jsonObject = new JSONObject(sb.toString());
                // 获取文件中 data 的数据到 list
                JSONArray jsonArray = jsonObject.getJSONArray("data");
                for (int i = 0; i < jsonArray.length(); i++) {
                    diaries.add(jsonArray.getString(i));
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }